package chapter04.s07exception;

// 在程序运行的过程中，也会发生各种非正常状况，例如，程序运行时磁盘空间不足、网络连接中断、被装载的类不存在等。
// 针对这种情况， Java语言引入了异常，以异常类的形式对这些非正常情况进行封装，通过异常处理机制对程序运行时发生的各种问题进行处理。

// Java提供了大量的异常类，这些类都继承自java.lang.Throwable类
// Throwable有两个直接子类Error和Exception
//   1. Error类称为错误类,代表程序中产生的错误,仅靠修改程序本身是不能恢复执行的
//   2. Exception类称为异常类,表示程序本身可以处理的错误。
//      子类：
//      1. RuntimeException类及其子类用于表示运行时异常。编译器不会检查是否catch
//      2. 其他子类都用于表示编译时异常。编译器会检查是否catch

public class Example24 {
    public static void main(String[] args) {
        // 程序发生了算术异常（ArithmeticException）
        // 异常发生后，程序会立即结束，无法继续向下执行
        int result = divide(4, 0);
        System.out.println(result);
    }

    //下面的方法实现了两个整数相除
    public static int divide(int x, int y) {
        int result = x / y;            // 定义一个变量result记录两个数相除的结果
        return result;                // 将结果返回
    }
}
